草庐IT

Qt 360safe

全部标签

c++ - 如何在 Qt C++ 应用程序中显示带有大量小部件的可滚动列表作为项目?

目标:在Windows7、10下的Qt5C++应用程序中拥有一个可滚动的自定义小部件列表,数量达数千(可能更多)。问题:将窗口最小化到任务栏并再次恢复后,程序停止响应。虽然它不会崩溃。CPU使用率常量为25%。即使在等待几分钟后,GUI也不会再次响应。此外,通常会消耗大量内存(超过200M),我认为即使对于100kQLabels(每个QLabel大约2k)来说也太多了。Here是针对类似问题的一些建议解决方案,但我认为这些解决方案不适合我的情况。示例:下面的示例说明了这个问题。为了演示,使用了QLabels列表,但它可以是派生自QWidget的任何类。主窗口.h#ifndefMAINW

c++ - Windows 中的 Qt : build environment and redistribution problems

我想就无休止的“QtvswxWidgets”问题的一个特定方面征求您的意见。在Windows中使用wxWidgets,我可以继续使用我喜欢的构建工具和编译器(在我的例子中是VisualStudio)。我只需要将wxWidgetsinclude和lib目录添加到编译器/链接器路径。必要时,我只是打开一些wxWidgets表单设计器(如DialogBlocks)并进行表单布局。可执行文件没有任何额外的依赖关系,也不会在重新分发时造成任何问题。另一方面,Qt带有自己的IDE,它往往是主要的开发工具(我不想要)。它安装MinGW。它使用qmake,这是将Qt集成到现有构建环境的又一个挑战。我不

c++ - QT Creator——跨平台编译

为Windows、Mac和Linux编译!唯一的方法是……在每个操作系统上安装QTCreator并编译自己的版本吗?(目前在MacOSX下运行QTCreator) 最佳答案 QtCreator只是一个自动化工具,它会为您创建Makefile和相关文件。如果你想交叉编译,只需扩展你的Makefile就可以交叉编译,例如,通过:exportTARGET=i686-mingw32CXX=$TARGET-g++RANLIB=$TARGET-ranlibAR=$TARGET-armake-fMakefile.mingw引用是here.请注意,

c++ - 如何在 QT 中开发美观、视觉现代的应用程序?

我想知道如何在QT中开发视觉上现代且具有吸引人的GUI应用程序。当我运行QTCreator并开始新项目时,GUI看起来非常基本和“纯粹”,就像简单的win32应用程序一样。但是看看AllegorithmicSubstanceDesigner2的例子,它的GUI看起来有点类似于WPF。还有许多其他具有漂亮GUI的应用程序。所以,问题是:如何做到这一点?QT是否有任何扩展/库提供更丰富的GUI体验?还是必须从头开发?感谢您提前回复。 最佳答案 除了Nano的回答,我认为您值得花时间搜索其他人制作的任何Qt样式表。例如,thisone模仿

c++ - 删除 msvc dll 依赖以运行 qt 应用程序

如何删除msvcdll(例如:msvcr100.dll)依赖性以运行qt应用程序?我开发了一个qt应用程序,它在dveloper机器上运行良好,但无法在任何其他机器上运行,并给出错误消息“程序无法启动,因为您的计算机中缺少MSVCR100.dll”。我可以通过在应用程序文件夹中复制该文件来解决此错误,但我不想复制,而是想静态链接或以其他方式删除该依赖项。提前致谢 最佳答案 问题是您可能正尝试在安装了与用于构建应用程序本身的版本不同的VisualStudio(MSVC)版本的计算机上运行应用程序。通常,正确的解决方案是在目标机器上安装

windows - Qt + win32 + mingw 上的原生 Windows API 链接问题

我正在尝试使用mingw工具集将nativeWindowsAPI与Qt结合使用。某些功能存在链接问题。会发生什么?这是mingw名称修改的错误吗?#ifdefQ_WS_WINHWNDhwnd=QWidget::winId();HDChdcEMF=CreateEnhMetaFile(NULL,NULL,NULL,NULL);Rectangle(hdcEMF,100,100,200,200);HENHMETAFILEhemf=CloseEnhMetaFile(hdcEMF);OpenClipboard(hwnd);EmptyClipboard();SetClipboardData(CF_E

c++ - 在 Qt 应用程序中接收 WM_COPYDATA 消息

我正在开发仅限Windows的Qt应用程序,我需要从MicrosoftOneNote插件接收数据。该插件是用C#编写的,可以发送WM_COPYDATA消息。我如何在C++Qt应用程序中接收这些消息?我需要:能够指定窗口在调用RegisterClassEx时注册的“类名”,这样我就可以确保插件将WM_COPYDATA消息发送到正确的窗口。有权访问消息ID以检查它是否为WM_COPYDATA和lParam,其中包含具有实际数据的COPYDATASTRUCT。此信息在WndProc中传递,但我无法找到可以拦截这些消息的Hook。 最佳答案

c++ - Qt和chm帮助文件格式

我们想为我们的小部件库迁移到Qt。目前我们正在使用WX,它与chm兼容。我找不到任何表明Qt相同的东西。我们在CHM工具上投入了大量资金,供非技术人员编写帮助文件。有没有办法用Qt查看chm?如果没有,是否有从chm到Qt可查看的任何内容的合理简单路径? 最佳答案 纯HTML绝对是。Qt包含完整的HTML呈现核心(WebKit)。加上Qt有一些内部格式(打包的HTML,类似于chm)https://doc.qt.io/archives/qq/qq28-qthelp.html哦还有:http://web.archive.org/web

c++ - 在Windows上使用Qt和opencv构建问题

我想使用Qt在WindowsXP上使用opencv创建gui应用程序。我之前使用过Qt和opencv,但从未一起使用过。长话短说,我无法在Qt上使用opencv。由于在我搜索过的所有论坛上,散布的信息很少,通常没有答案,因此在这里总结了我已采取的所有步骤。下载了Windows的QtSDK(4.6.3),并成功使用了一段时间。下载了适用于Windows的opencv2.3.1megapack,其中包含二进制文件。我设法成功编译了包括opencv在内的Qt项目,但是任何opencv函数调用都导致崩溃。我在一些论坛上读到Windowsmegapack中的二进制文件不支持Qt,我必须自己构建o

windows - Qt - 通过双击打开自定义文件

我有一个程序和一个包含几行信息的.l2p文件。我运行了一个注册表文件:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\.l2p\DefaultIcon]@="\"C:\\ProgramFiles\\ToriLori\\L2P.exe\",0"[HKEY_CLASSES_ROOT\.l2p\shell\Open\command]@="\"C:\\ProgramFiles\\ToriLori\\L2P.exe\"\"%1\""当我双击.l2p文件时,程序启动但不加载文件。我需要做什么才能使其正确加载?示例代码将不胜感激。